home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / util1 / ssmn012c.lha / Sysmon / sysmon.doc
Text File  |  1995-11-21  |  25KB  |  553 lines

  1. $VER: Sysmon.doc 0.2 (19.11.95) © 1995 by Etienne Vogt (Etienne.Vogt@obspm.fr)
  2.  
  3.  
  4. INTRODUCTION
  5.  
  6.  Sysmon is a system monitoring package based on a shared library and Shell
  7. based support commands. It requires AmigaOS 2.04 or higher.
  8. Main features are :
  9.  
  10.  - Precise CPU usage timing for all tasks with very low overhead.
  11.  - System message logging daemon like UNIX syslogd (useful for debugging).
  12.  - Safe System shutdown script (useful for BBS's and networked machines).
  13.  
  14.  This is a public *** BETA *** release, so it's not fully tested. In
  15. particular, I am not sure if it will work on a 68060 based machine. So if
  16. you are the lucky owner of a 68060 based amiga, please test this software
  17. and report the resulting behaviour back to me. My E-Mail address is listed
  18. in this file.
  19.  Sysmon has been successfully tested on the following configurations :
  20.  
  21.  - A500 68000 ECS, 1 Mb Chip 1.5 Mb Slow 2 Mb Fast , OS 3.1
  22.    20 Mb IDE-XT + 170 Mb SCSI HDs
  23.  - A3000 68030 ECS, 2 Mb Chip 8 Mb Fast , OS 3.1
  24.    100 Mb + 1 Gb SCSI HDs
  25.  - A500 68040(PP&S) ECS , 1 Mb Chip 2 Mb Fast16 8 Mb Fast32 , OS 2.04
  26.    50 Mb SCSI HD
  27.  - A4000 68040 AGA, 2 Mb Chip 8 Mb Fast , OS 3.0
  28.    250 Mb IDE + 1 Gb SCSI-2 HDs
  29.  - A1200 68EC020/68882 AGA, 2 Mb Chip 5 Mb Fast , OS 3.0
  30.    60 Mb IDE + 100 Mb SCSI HDs
  31.  
  32.  This software is intended for experienced users. In particular, there
  33. are no GUI tools available yet; so if you are a mouse-maniac user that
  34. don't like typing Shell commands or editing ASCII configuration files,
  35. I'm afraid that this software is not for you.
  36.  
  37.  
  38. DISTRIBUTION
  39.  
  40.  Sysmon is Freely Distributable Copyrighted Software (FreeWare).
  41.  
  42.  It may be freely copied as long as it is kept intact. However, the support
  43. commands that do not require sysmon.library may be distributed separately.
  44. (see the OTHER COMMANDS section below).
  45.  
  46.  It may not be sold under any guise. I don't want others to make money out
  47. of my work. Distribution MUST BE FREE, except for media costs plus a token 
  48. amount covering only shipping and handling.
  49.  
  50.  Authors of FreeWare may freely use the sysmon.library in their software.
  51. Authors of ShareWare may use the library at the cost of giving me a free
  52. registration (this includes upgrades as long as the software continues
  53. to use the library). Authors of commercial packages MUST obtain a written
  54. license agreement from me before selling software using the library.
  55.  
  56.  Fred Fish is explicitely allowed to include this package in his AmigaLibDisk
  57. collection (either on floppy disk or on CD-ROM), as is the aminet group for
  58. their Aminet CD-ROM.
  59.  
  60.  Usage and Distribution of Sysmon and sysmon.library is STRICTLY FORBIDDEN to:
  61.   - Anyone affiliated with the french society FRANCE-FESTIVAL-DISTRIBUTION
  62.     (especially Serge Hammouche).
  63.   - Anyone affiliated with MICROSOFT CORPORATION or its subsidiaries.
  64.  
  65.  
  66. DISCLAIMER
  67.  
  68.  This software is provided "as is" without any warranty, either expressed or
  69. implied. By using this software, you accept the entire risk as to its quality
  70. and performance.
  71.  Especially, as this software patches some private system functions, it can
  72. not be guaranteed that it will continue to work with future operating system
  73. versions, and it will certainly not work as is on a PowerPC based Amiga.
  74.  
  75.  
  76. CONTACTING THE AUTHOR
  77.  
  78.  I can be reached by E-Mail at the following address : Etienne.Vogt@obspm.fr
  79.  
  80.  Bug reports must include the complete hardware and software configuration,
  81. including any third party software that was running in the background.
  82.  
  83.  If you have any question or suggestion about this software, feel free to
  84. send me E-Mail.
  85.  
  86.  
  87. ARCHIVE CONTENTS
  88.  
  89. Original  Packed Ratio    Date     Time    Name
  90. -------- ------- ----- --------- --------  -------------
  91.     1568     942 39.9% 20-Nov-95 19:51:10  Sysmon/c/Freeze
  92.      672     495 26.3% 20-Nov-95 19:55:40  Sysmon/c/Halt
  93.      784     581 25.8% 20-Nov-95 19:53:38  Sysmon/c/Request
  94.     1436    1005 30.0% 20-Nov-95 19:49:22  Sysmon/c/RunBackground
  95.     6520    4238 35.0% 04-Nov-95 17:07:08  Sysmon/c/ShowSys
  96.     3504    2117 39.5% 20-Nov-95 19:47:32  Sysmon/c/StartSM
  97.      772     560 27.4% 20-Nov-95 19:57:14  Sysmon/c/SysLog
  98.    20208   11718 42.0% 05-Nov-95 16:22:34  Sysmon/c/sysmon
  99.     9192    5922 35.5% 19-Nov-95 00:57:22  Sysmon/c/Timer
  100.     1580     944 40.2% 20-Nov-95 19:58:38  Sysmon/c/UnFreeze
  101.     1900    1353 28.7% 20-Nov-95 20:00:08  Sysmon/c/UnMount
  102.      808     573 29.0% 20-Nov-95 20:01:26  Sysmon/c/ValidateWait
  103.    11629    3598 69.0% 05-Nov-95 17:04:02  Sysmon/docs/sysmon_lib.doc
  104.     6137    2419 60.5% 19-Nov-95 20:05:42  Sysmon/include/sysmon.h
  105.     5853    2409 58.8% 19-Nov-95 22:28:06  Sysmon/include/sysmon.i
  106.      826     237 71.3% 08-Oct-95 18:07:22  Sysmon/include/sysmon_pragmas.h
  107.      732     377 48.4% 08-Oct-95 18:05:56  Sysmon/include/sysmon_protos.h
  108.     5156    3270 36.5% 04-Nov-95 16:15:46  Sysmon/libs/sysmon.library
  109.      937     521 44.3% 02-Nov-95 00:14:08  Sysmon/s/Shutdown
  110.      241     194 19.5% 19-Nov-95 15:01:40  Sysmon/s/Sysmon.config
  111.     2787    1155 58.5% 20-Nov-95 19:48:32  Sysmon/src/Freeze.c
  112.     2310    1027 55.5% 20-Nov-95 19:49:24  Sysmon/src/Halt.c
  113.     2519    1164 53.7% 20-Nov-95 19:49:58  Sysmon/src/Request.c
  114.     3150    1338 57.5% 20-Nov-95 19:47:04  Sysmon/src/RunBackground.c
  115.    10922    3483 68.1% 04-Nov-95 17:03:56  Sysmon/src/ShowSys.c
  116.     7638    2785 63.5% 20-Nov-95 19:45:38  Sysmon/src/StartSM.c
  117.     2673    1122 58.0% 20-Nov-95 19:50:40  Sysmon/src/SysLog.c
  118.     4829    1690 65.0% 19-Nov-95 00:56:12  Sysmon/src/Timer.c
  119.     2809    1153 58.9% 20-Nov-95 19:52:18  Sysmon/src/UnFreeze.c
  120.     6700    2332 65.1% 20-Nov-95 19:52:50  Sysmon/src/UnMount.c
  121.     2740    1204 56.0% 20-Nov-95 19:53:10  Sysmon/src/ValidateWait.c
  122.    25481    9847 61.3% 21-Nov-95 10:50:08  Sysmon/sysmon.doc
  123. -------- ------- ----- --------- --------
  124.   155013   71773 53.6% 21-Nov-95 10:51:00   32 files
  125.  
  126.  
  127. INSTALLATION
  128.  
  129.  - Copy the file 'libs/sysmon.library' to your LIBS: directory.
  130.  
  131.  - Copy the support commands in the 'c/' sub-directory to C: .
  132.  
  133.  - Copy the files in the 's/' sub-directory to S: .
  134.  
  135.  - You may also copy the files in the 'docs/' and 'include/' subdirectories
  136.    wherever you like.
  137.  
  138.  - Load S:Startup-Sequence in your favorite editor. Locate the line with
  139.    'SetPatch' in it. Add a line just after it saying 'C:StartSM'. Save the
  140.    modified Startup-Sequence.
  141.  
  142.  - Wait for disk activity to finish, then reboot your Amiga. Sysmon will
  143.    then be started with the default configuration.
  144.  
  145.  - After bootup, open a shell and type 'showsys'. You should then get a listing
  146.    of all tasks in the system, like this :
  147.  
  148.    AmigaOS 40.63             05-Nov-95   19:34:37   UpTime :   0 04:45:06
  149.    Address  Name                           State  Pri  CPU [68000]    Type
  150.    0020F700 DH0                            WAIT    10  0 00:00:20.761 Process 
  151.    0029E200 Workbench (Workbench)          WAIT     1  0 00:01:38.599 Cli 4   
  152.    0021B918 DH2                            WAIT    10  0 00:00:37.442 Process 
  153.    002A7628 Active                         WAIT    21  0 00:00:31.385 Process 
  154.    00267930 « ConClip »                    WAIT     0  0 00:00:00.002 Process 
  155.    00217138 SH0                            WAIT    10  0 00:00:02.803 Process 
  156.    00223A3C trackdisk.device               WAIT     5  0 00:00:25.848 Task    
  157.    0020703A input.device                   WAIT    20  0 00:22:01.744 Task    
  158.    002B9C40 Clock                          WAIT     0  0 00:04:03.565 Process 
  159.    00254248 « IPrefs »                     WAIT     0  0 00:00:03.761 Process 
  160.    002AFE50 Spliner                        WAIT     0  0 00:00:03.037 Process 
  161.    0022C758 ramlib                         WAIT     0  0 00:00:00.762 Process 
  162.    00228458 DH3                            WAIT    10  0 00:00:02.828 Process 
  163.    0020B858 scsi.device                    WAIT    11  0 00:00:15.128 Task    
  164.    00214C70 DF0                            WAIT    10  0 00:00:04.401 Process 
  165.    00221570 DF1                            WAIT    10  0 00:00:03.449 Process 
  166.    00246570 ErrorLog.daemon (ErrorLogD)    WAIT     6  0 00:00:23.148 Cli 0   
  167.    0026A978 RexxMaster                     WAIT     4  0 00:00:00.399 Cli 0   
  168.    00297E78 CON                            WAIT     5  0 00:02:08.857 Process 
  169.    002B1D78 ClickToFront                   WAIT    21  0 00:00:00.194 Process 
  170.    0020DA8C trackdisk.device               WAIT     5  0 00:00:35.705 Task    
  171.    00241A88 VD0                            WAIT    10  0 00:00:35.972 Process 
  172.    0020C490 A590 SCSI handler              WAIT    12  0 00:00:24.504 Task    
  173.    002B5890 AppMenuCx                      WAIT     0  0 00:00:00.198 Process 
  174.    00285C98 Background CLI (Snap)          WAIT     1  0 00:00:13.573 Cli 2   
  175.    0023A4A0 RAM                            WAIT    10  0 00:00:02.588 Process 
  176.    002A49A0 AmigaEyes                      READY   -1  0 00:10:44.476 Process 
  177.    00223CB0 DH1                            WAIT    10  0 00:00:07.265 Process 
  178.    00296AD0 AmigaShell_3 (showsys)         RUN      0  0 00:06:02.147 Cli 3   
  179.    002339D8 Sysmon.server                  WAIT     3  0 00:00:00.106 Process 
  180.    0020B2F8 console.device                 WAIT     5  0 00:00:00.400 Task    
  181.  
  182.  
  183. CONFIGURATION
  184.  
  185.  The configuration file is used to set up various parameters of operations.
  186. It is usually located in the S: directory. If you want to put it somewhere
  187. else, you have to add the complete path to the file as argument to the
  188. StartSM command in the Startup-Sequence.
  189.  
  190.  The configuration parameters currently available are :
  191.  
  192.  - LOGFILE :
  193.    This parameters sets up the name of the file used for the system message
  194.    logging facility. Currently all messages go into a single file. You should
  195.    place this file on a hard disk partition with sufficent free space available.
  196.    The default file name is S:Sysmon.log
  197.  
  198.  - LOGWINDOW :
  199.    This sets up the window specifications for syslog messages that are serious
  200.    enough to be displayed in a window. You can also redirect them somewhere
  201.    else like an AUX: serial terminal or even a file, but you must be aware
  202.    that this 'file' is not closed after each message like the log file is.
  203.    The default window specification is CON:20/50/600/80/SysLog/AUTO/CLOSE/WAIT
  204.  
  205.  - FILEPRI :
  206.    Sets up the higher priority level of messages that will be logged in the
  207.    log file; low values mean high severity like in UNIX (See the sysmon.h
  208.    include file for the definitions). The default value is 7 (LOG_DEBUG) which
  209.    means that all messages will be logged.
  210.  
  211.  - WINPRI :
  212.    This is the same as the previous parameter but for the window logging.
  213.    The default value is 4 (LOG_WARN), meaning that messages of class warning
  214.    or more severe will be logged.
  215.  
  216.  - CONPRI :
  217.    Sets up the higher priority level for logging to a serial port terminal
  218.    (console). The logging is done via the smKPrintf() function which is not
  219.    system friendly (accesses the serial port hardware directly). If you have
  220.    something else than a terminal attached to your serial port (ex. a modem),
  221.    you should leave this parameter to its default value of 0 (LOG_EMERG).
  222.    This means that only system panic messages will be logged; these can not
  223.    be disabled but are not currently used by the sysmon package (and should
  224.    never be used by application or user programs).
  225.  
  226.  - LOGBUFFERS :
  227.    This sets up the number of preallocated buffers to store syslog messages
  228.    before they can be logged to disk and/or window by the Sysmon.server
  229.    process. If you have a program that generates lots of messages and you
  230.    think you are losing some of them, you should increase the number of
  231.    buffers. The default value is 5.
  232.  
  233.  - STAMPPERIOD :
  234.    Sets the time period in minutes between time stamping messages written
  235.    to the logfile at priority level 6 (LOG_INFO). You can disable these
  236.    messages by specifying a stamp period or 0. Default value is 60 minutes
  237.    (one message every hour).
  238.  
  239.  - IDLELED :
  240.    This enables you to monitor the CPU activity using the power LED. If 
  241.    IDLELED is set to YES, the system will dim the power LED when the CPU
  242.    is idle and brighten it when a task is running. This can however cause
  243.    interferences with audio output as the power LED also controls the low
  244.    pass audio filter. Default value is NO.
  245.  
  246.  
  247. SUPPORT COMMANDS
  248.  
  249.  These support commands should be installed in your C: directory. They can
  250. only be used from the Shell.
  251.  
  252.  - StartSM:
  253.  
  254.    This command loads and initializes the sysmon.library and starts the
  255.   Sysmon.server syslog process. It should be called from your Startup-Sequence
  256.   right after the SetPatch command.
  257.  
  258.   Usage : StartSM CONF=CONFIGFILE
  259.  
  260.   CONFIGFILE :  Specifies the path to the configuration file described before.
  261.         It defaults to S:Sysmon.config
  262.  
  263.  - ShowSys:
  264.  
  265.    This command will give a list of all the tasks in the system with their
  266.   address, name, state, priority, cumulated CPU usage and type. An example
  267.   of the display generated by this command was given in the INSTALLATION
  268.   section.
  269.  
  270.   Usage : ShowSys FULL/S
  271.  
  272.   FULL:    This switch causes the command to also display the allocated stack
  273.     size, signals usage, task flags and total dispatch count for each
  274.     task.
  275.  
  276.  - Timer:
  277.  
  278.    This command runs another command as a subprocess and times the command
  279.   execution. It then reports the elapsed time and the CPU time used by the
  280.   command. It is similar to the UNIX 'time' command.
  281.  
  282.   Usage : Timer COMMAND/F/A
  283.  
  284.   COMMAND : The command that will be executed and timed.
  285.  
  286.  - Freeze:
  287.  
  288.    This command will suspend a given task by putting it in the FROZEN state.
  289.   It uses the sysmon.library function smFreeze(). (see sysmon_lib.doc for
  290.   further details). This can be useful to stop a looping task that is eating
  291.   away all the CPU time available. Be careful though to not freeze system
  292.   tasks or the whole machine may hang.
  293.    The frozen task can be resurrected by the UnFreeze command.
  294.  
  295.   Usage : Freeze TASK,ADDR=ADDRESS/K
  296.  
  297.   TASK:    The name of the task to be frozen. If it is not unique, the first task
  298.     found in the system lists will be frozen.
  299.   ADDRESS: You can alternatively to the name, specify the hexadecimal address
  300.        of the task as displayed by ShowSys.
  301.  
  302.  - UnFreeze:
  303.  
  304.    This command will bring a previously frozen task back to life. Is uses the
  305.   sysmon.library function smUnFreeze(). (see sysmon_lib.doc for further details).
  306.  
  307.   Usage : UnFreeze TASK,ADDR=ADDRESS/K
  308.  
  309.   TASK:    The name of the task to be unfrozen. If it is not unique, the first task
  310.     found in the frozen list will be unfrozen.
  311.   ADDRESS: You can alternatively to the name, specify the hexadecimal address
  312.        of the task as displayed by ShowSys.
  313.  
  314.  - Halt:
  315.  
  316.    This command will halt the system by displaying a guru-like deadend alert.
  317.   It uses the sysmon.library function smHalt(). (see sysmon_lib.doc for further
  318.   details). It is used by the shutdown script and is not intended to be called
  319.   directly.
  320.  
  321.   Usage : Halt REBOOT/S,REKICK/S
  322.  
  323.   REBOOT : This switch bypasses the alert display and causes the system to
  324.        reboot immediately.
  325.   REKICK : This switch forces MMU-softkicked machines like the early A3000s
  326.        to reload the kickstart file when rebooting.
  327.  
  328.  - SysLog:
  329.  
  330.    This command can be used to generate syslog messages from the Shell.
  331.  
  332.   Usage : MESSAGE/A,LEVEL/K/N,NOHEAD/S,NOWIN/S,NOFILE/S
  333.  
  334.   MESSAGE : The message text body which must be inserted between double quotes
  335.         if it contains spaces. The message length is limited to
  336.         SM_MAXLOGCHARS bytes (currently 256).
  337.   LEVEL :   The priority level of the message in numeric form (see sysmon.h)
  338.         Do not use the LOG_EMERG (0) and LOG_ALERT (1) values without
  339.         good reasons.
  340.   NOHEAD :  This switch suppresses the header that is normally prepended to
  341.         each message. This allows you to split a single long message in
  342.         smaller parts.
  343.   NOWIN :   Do not log this message to the log window regardless of priority
  344.         settings.
  345.   NOFILE :  Do not log this message to the log file regardless of priority
  346.         settings.
  347.  
  348.  
  349. OTHER COMMANDS
  350.  
  351.  These commands do not depend on sysmon.library and thus are not to be
  352. considered part of the sysmon package, so they can be distributed separately.
  353. I wrote them for my own usage and decided to distribute them with sysmon
  354. because they may be useful to the Amiga community. The UnMount command is
  355. also used by the shutdown script.
  356.  
  357.  - RunBackground:
  358.  
  359.    This command starts a command as a detached process. Unlike the standard
  360.   'run' command, it automatically redirects the standard input and output to
  361.   NIL: so the shell can be closed and it also allows you to specify options
  362.   such as the new process priority and stack size.
  363.  
  364.   Usage : STACK=STACKSIZE/K/N,PRI=PRIORITY/K/N,DELAY/K/N,NOREQ/S,COMMAND/F/A
  365.  
  366.   STACKSIZE : The size of the stack to allocate for the new process. Defaults
  367.           to the current shell stack size.
  368.   PRIORITY :  The priority to give to the new process. Defaults to the current
  369.           process priority.
  370.   DELAY :     Optional delay after the new process startup and before the
  371.           command returns. This can be used to avoid concurrent accesses
  372.           to a disk.
  373.   NOREQ :     This switch will disable DOS requesters for the newly created
  374.           process. Unfortunately, software error requesters are also
  375.           disabled, so a CPU trap will cause an immediate guru reboot.
  376.   COMMAND :   The command to be executed.
  377.  
  378.  - UnMount:
  379.  
  380.    This command will try to unmount a DOS device by sending it an ACTION_DIE
  381.   packet and optionally an ACTION_INHIBIT packet if the ACTION_DIE fails.
  382.   It is used by the shutdown script to stop filesystem accesses before halting
  383.   the system. Note that very few filesystems or handlers currently implement
  384.   the ACTION_DIE packet (An exception is the CrossDosFileSystem).
  385.  
  386.   Usage : DEVICE,INHIBIT/S,RETRY/K/N,ALL/S,FREENODE/S
  387.  
  388.   DEVICE :  The name of the DOS device to unmount.
  389.   INHIBIT : This switch causes the command to send an ACTION_INHIBIT packet
  390.         if the ACTION_DIE fails. ACTION_INHIBIT causes the filesystem
  391.         to appear as 'BUSY' on the workbench screen, like during a format
  392.         or diskcopy.
  393.   RETRY :   The number of retries for the ACTION_INHIBIT if the first one is
  394.         rejected because the filesystem is busy. The retry period is 1
  395.         second and the default number of retries is 10.
  396.   ALL :        Finds all mounted filesystems and tries to unmount them (except
  397.         the RAM-handler). Used by shutdown script.
  398.   FREENODE: This switch causes the command to remove and free the device node
  399.         after the handler has been stopped. Things attached to the device
  400.         node like a file system startup message are not freed. It is similar
  401.         to an 'Assign device: DISMOUNT' command.
  402.  
  403.  - Request:
  404.  
  405.    This command enables/disables system requesters in the current shell. This
  406.   can be useful for remote shells or in the User-Startup if you make assigns
  407.   to external disks that may not be always connected.
  408.  
  409.   Usage : OFF/S,ON/S,WB/S
  410.  
  411.   OFF :    Disables system requesters in the current shell. Unfortunately, software
  412.     failure requesters are also disabled causing an immediate guru reboot
  413.     in the event of a CPU trap.
  414.   ON :    Enables system requesters on the current screen. For a remote shell,
  415.     enables system requesters on the default public screen.
  416.   WB :    Enables system requesters on the default public screen, usually the
  417.     Workbench screen. This is the default setting at startup.
  418.  
  419.  - ValidateWait:
  420.  
  421.    This command waits until the specified volume is validated. If it does not
  422.   become validated within a specified period, it will time out and return an
  423.   error condition to the Shell. It may be a good idea to put a 'ValidateWait SYS:'
  424.   command at the beginning of your Startup-Sequence.
  425.  
  426.   Usage : DRIVE/A,TIMEOUT/K/N
  427.  
  428.   DEVICE : The device (or assign) to check for validation.
  429.   TIMEOUT: The amount of time in seconds before timing-out. Defaults to 300
  430.        seconds (5 minutes).
  431.  
  432.  
  433. THE SHUTDOWN SCRIPT
  434.  
  435.  The shutdown script should be placed in your S: directory. It enables you to
  436. perform a safe power down of your system. This is particularly useful if your
  437. machine is connected to a network or runs a BBS.
  438.  You should not edit this script as it may change in a future version of the
  439. Sysmon package. Instead, you should create a User-Shutdown script in S: where
  440. you can put commands to customize the shutdown sequence.
  441.  
  442.  The sequence of events performed by this script is as follows :
  443.  
  444.  - First ask the user for confirmation, unless the NOCONF switch was specified
  445.    on the command line. If you enter 'y', the shutdown continues, else it is
  446.    aborted.
  447.  - Set the shell priority to 2, and send a syslog message at level 4 (LOG_WARN).
  448.  - Execute the S:User-Shutdown script if it exists. You can put commands in
  449.    this script to stop commodities or network protocol stacks for example.
  450.    You can also create a Final-Shutdown script in RAM: (via echo or copy
  451.    commands) that will be executed later. All commands used in Final-Shutdown
  452.    must be copied to RAM:
  453.  - Copy all further needed commands to RAM:, reset the search path to RAM:
  454.  - Find and unmount all filesystems except RAM:, using UnMount ALL INHIBIT.
  455.  - Execute the RAM:Final-Shutdown script if created by User-Shutdown.
  456.  - Halt the system via the Halt command. If the REBOOT and/or REKICK options
  457.    were given on the command line, they are passed to the Halt command.
  458.    The REBOOT option will cause the system to reboot immediately. If it is not
  459.    specified, the Halt command will stop all running tasks and display a guru
  460.    like deadend alert saying 'System Shutdown Complete'. You can then safely
  461.    turn the power off or reboot by pressing the left mouse button.
  462.  
  463.  Usage : Shutdown REBOOT/S,REKICK/S,NOCONF/S
  464.  
  465.  REBOOT : This switch is passed to the 'Halt' command at the end of the script.
  466.       It bypasses the alert display and causes the system to reboot.
  467.  REKICK : This will force MMU-Softkicked machines like early A3000s to reload
  468.       the kickstart file when rebooting.
  469.  NOCONF : Skip the confirmation question.
  470.  
  471.  
  472. THE SYSMON MONITOR
  473.  
  474.  The sysmon monitor is an interactive shell based program that allows you
  475. to display the system lists and variables and interact with them (not
  476. implemented yet). This program is still under development and more commands
  477. will be implemented in future releases.
  478.  When you type 'sysmon' on the command line, you will get the 'SYSMON>' prompt
  479. back that tells you that the monitor is waiting for commands. You can then
  480. type sysmon commands (not to be confused with the shell-based sysmon support
  481. commands) or exit with the 'EXIT' or 'QUIT' commands. 
  482.  You can also specify a command directly on the command line. In this case,
  483. Sysmon will execute the command and exit immediately thereafter.
  484.  
  485.  All sysmon commands can be abreviated to the minimum number of characters
  486. required to uniquely identify the command. For example, you can type 'sh lib'
  487. instead of 'show libraries'.
  488.  
  489.  Currently implemented commands are :
  490.  
  491.  - EXIT:
  492.  - QUIT:
  493.    These commands will exit the sysmon monitor. An end of file (CTRL-\) at the
  494.   'SYSMON>' prompt will do the same.
  495.  
  496.  - SHOW:
  497.    This command is used to display system lists and variables. The item to
  498.   display is given as first argument to the SHOW command.
  499.  
  500.   · SHOW TASKS will display all the tasks in the system, in a manner similar
  501.     to the 'ShowSys' support command.
  502.  
  503.   · SHOW LIBRARIES will display all shared libraries loaded in the system with
  504.     version number, open count, negative and positive sizes of the library node
  505.     and node priority.
  506.  
  507.   · SHOW DEVICES displays all loaded exec devices
  508.  
  509.   · SHOW RESOURCES displays the exec Resource list.
  510.  
  511.   · SHOW RESIDENTS displays the resident module array.
  512.  
  513.   · SHOW PORTS displays the public Message Port list.
  514.  
  515.   · SHOW SEMAPHORES displays the public Signal Semaphore list.
  516.  
  517.   · SHOW MEMORY displays the Memory Header list.
  518.  
  519.   · SHOW INTERRUPTS displays the Interrupt Nodes installed.
  520.  
  521.   · SHOW FONTS displays the Text Fonts loaded in memory.
  522.  
  523.   · SHOW MEMHANDLERS displays the Low Memory Handler list on Amiga OS 3.0+.
  524.  
  525.   · SHOW LOAD periodically displays the top CPU eating processes and total
  526.     CPU load. The list is updated every 5 seconds and includes upto 16
  527.     processes. A process which takes less than 1 millisecond in an update cycle
  528.     is not displayed; also processes which start and exit within a single cycle
  529.     can not be taken into account.
  530.     Type CTRL-C to exit from this command. An example display from a 'quiet'
  531.     68000 system is showed below :
  532.  
  533.     UpTime :   0 03:52:16     Update : 00:00:05.010     CPU Load :  18.6 %
  534.     Address  Name                            Load    CPUTime
  535.     00296BB0 AmigaShell_3 (sysmon)            6.9 %  00:00:00.344
  536.     0020703A input.device                     4.5 %  00:00:00.226
  537.     00297F58 CON                              3.1 %  00:00:00.155
  538.     002A4A30 AmigaEyes                        1.8 %  00:00:00.090
  539.     002B9AC8 Clock                            1.5 %  00:00:00.077
  540.     0029E290 Workbench (Workbench)            0.5 %  00:00:00.025
  541.     00224FE4 trackdisk.device                 0.0 %  00:00:00.003
  542.     0020F004 trackdisk.device                 0.0 %  00:00:00.001
  543.  
  544.  
  545. WRITING PROGRAMS FOR SYSMON
  546.  
  547.  You can use the sysmon.library in your own programs. See the DISTRIBUTION
  548. section for legal details. The library contains public functions that can
  549. be used to monitor cpu usage, send syslog messages to the Sysmon.server
  550. process, etc... Read the sysmon_lib.doc autodoc file and the sysmon.h include
  551. file for further information.
  552.  Sources for the support commands are provided as examples.
  553.